#!/usr/bin/python
# -*- coding:utf-8 -*-
# @author  : micah
# @time    :  
# @function: 
# @version :


import time
import threading

"""
start
    启动线程
"""

# def test():
#     print(1)
#
#
# t = threading.Thread(target=test)
# t.start()
#

"""
join
    让主线程等待子线程执行完毕才继续向下执行
"""

# def test():
#     time.sleep(3)
#     print('这是一个子线程任务...')
#
#
# t = threading.Thread(target=test)
# t.start()
# t.join()  # 如果主线程运行当前代码之后发现子线程任务没有执行完毕主线程回等待子线程任务完成之后才会继续向下走
#
# print('这是主线程任务')


"""
setDaemon
    如果 有子线程存在死循环的情况可以使用守护进程，守护主进程想要退出但是退出不了的情况
"""

# def test():
#     for i in range(5):
#         print(i)
#         time.sleep(1)
#
#
# t = threading.Thread(target=test)
# # 守护线程设置必须在启动线程之前
# t.setDaemon(True)
# t.start()
# print('主线程即将退出...')

"""
current_thread
    获取线程对象信息
"""


def test():
    name = threading.current_thread().getName()  # 获取线程名称
    print(name)


for i in range(5):
    t = threading.Thread(target=test)
    t.setName(f'线程：{i}')  # 设置线程名称
    t.start()
